import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.DefaultTableModel;
class JTableFrame extends JFrame implements ActionListener{
    JTable student=new JTable();//һհ׵JTable
    JButton b1=new JButton("һҳ");
    JButton b2=new JButton("һҳ");
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    static int num=0;
    JTableFrame()throws Exception{
        super("ѧϢ");
        bind();//ݰ
        p1.add(new JScrollPane(student));//JTableӵ
        b1.addActionListener(this);
        b2.addActionListener(this);
        p2.add(b1);
        p2.add(b2);
        student.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//JTableǷԶС
        student.addMouseListener(new MouseAdapter() {//ӵJTable¼
            public void mouseClicked(MouseEvent evt) {
                JFrame s=new JFrame("ѧϸϢ");
                s.setSize(200,200);
                s.setVisible(true);
            }
        });
        Container contentpane=getContentPane();
        contentpane.add(p1,BorderLayout.CENTER);//JTableӵ
        contentpane.add(p2,BorderLayout.NORTH);//JTableӵ
        setSize(600,600);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    String[][] allStudent(int numb)throws Exception{
    	//
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
        //ݿ  
        Connection conn=DriverManager.getConnection("jdbc:odbc:StudentSystem","sa","sql");
        Statement stm=conn.createStatement();//Statement
        ResultSet rs=stm.executeQuery("select * from Students");//ִSQL
        //жǷвѯʾ
        String [][]student=new String[10][7];
        int i=0,j=0;
        while(rs.next()){//
        	if(i>=numb){
        		if(i<numb+10){
                  student[j][0]=rs.getString(1);
                  student[j][1]=rs.getString(2);
                  student[j][2]=""+rs.getInt(3);
                  student[j][3]=rs.getString(4);
                  student[j][4]=rs.getString(5);
                  student[j][5]=rs.getString(6);
                  student[j][6]=rs.getString(7);
                  j++;
                  }
            else{
            	conn.close();
            	return student;}
         }
        	i++;
        	}
        	conn.close();
        	return student;
    	}
    void bind()throws Exception{
    	       String []s={"ѧ","","","Ա","סַ","Email","绰"};
    	       String [][]stu=allStudent(num);
             DefaultTableModel dtm=new DefaultTableModel(stu,s);//TableModel
             student.setModel(dtm);//TableModel
    	}
    public void actionPerformed(ActionEvent e){
    	  JButton b=(JButton)e.getSource();
    	  try{
    	  if(b.equals(b1)){//һҳ
    		    num=num-10;
    		    bind();
    		}
    	  if(b.equals(b2)){//һҳ
    		    num=num+10;
    		    bind();
    		}
    	}

    	catch(Exception ex){}    	
    	}
    public static void main(String args[])throws Exception{
        JTableFrame h=new JTableFrame();
    }
}
